package br.com.peri.conceito.action.usuario;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;

import br.com.peri.Usuario;
import br.com.peri.conceito.action.AppAction;
import br.com.peri.conceito.modelo.UsuarioApp;

@Name("usuarioAction")
@Scope(ScopeType.CONVERSATION)
public class UsuarioAction extends AppAction {

	private Usuario usuario;

	private Long idUsuarioSelecionado;

	@In(value = "usuarioAppRest", create = true)
	private UsuarioApp usuarioApp;

	public void pesquisar() throws Exception {
		usuario = (Usuario) usuarioApp.listarTodosUsuarios();
	}
	public String atualizar() throws Exception {
		usuarioApp.atualizar(usuario);
		statusMessages.clearGlobalMessages();
		statusMessages.add("Registro Atualizado com Sucesso");
		return "success";
	}

	public String remover() throws Exception {
		usuario = new Usuario();
		usuario.setId(idUsuarioSelecionado);
		usuarioApp.excluir(usuario);
		statusMessages.clearGlobalMessages();
		statusMessages.add("Registro removido com Sucesso");
		return "success";
	}

	public String salvar() throws Exception {
		if (usuario.getId() == null) {
			usuarioApp.salvar(usuario);
		} else {
			usuarioApp.atualizar(usuario);
		}
		statusMessages.clearGlobalMessages();
		statusMessages.add("Registro Salvo com Sucesso");
		return "success";
	}

	public String prepararInclusao() throws Exception {
		if (usuario == null) {
			usuario = new Usuario();
		}
		return "success";
	}

	public String prepararEdicao() throws Exception {
		usuario = new Usuario();
		usuario.setId(idUsuarioSelecionado);
		usuario = usuarioApp.pesquisarPorId(usuario);
		return "success";
	}

	
	public Long getIdUsuarioSelecionado() {
		return idUsuarioSelecionado;
	}
	public void setIdUsuarioSelecionado(Long idUsuarioSelecionado) {
		this.idUsuarioSelecionado = idUsuarioSelecionado;
	}
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

}
